exclude: "migrations/|^llmstack/static/|_pb2.py$|_pb2.pyi$|_grpc.py$"
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
      - id: trailing-whitespace
        files: \.py$
      - id: end-of-file-fixer
        files: \.py$
      - id: check-yaml
        files: \.py$
      - id: debug-statements
        files: \.py$
      - id: check-added-large-files
        files: \.py$
      - id: check-ast
        files: \.py$
      - id: fix-byte-order-marker
        files: \.py$
      - id: check-case-conflict
        files: \.py$

  - repo: https://github.com/pycqa/isort
    rev: 5.13.2
    hooks:
      - id: isort
        args: [--profile=black]

  - repo: https://github.com/psf/black
    rev: 23.12.1
    hooks:
      - id: black
        args: [--line-length=120]

  - repo: https://github.com/pycqa/flake8
    rev: 7.0.0
    hooks:
      - id: flake8
        args: [--max-line-length=300, --extend-ignore=E203]

  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v3.1.0
    hooks:
      - id: prettier
        types_or: [css, javascript, jsx, markdown, yaml]
